// OptimizerPhase2.h

#pragma once
#include "DataTypes.h"
#include "Graph.h"
#include <vector>
#include <utility>
#include <random>

namespace OptimizerPhase2 {
    // C++ version of optimizer_systematic_search_bottleneck with convergence tracking
    OptimizationResult optimizer_systematic_search_bottleneck(
        const std::vector<int>& initial_schedule,
        const std::vector<long long>& initial_history,
        long long initial_score,
        const Graph& graph,
        const CodeMap& code_map,
        const Options2& options,
        std::mt19937& gen);
}